// recharge.ts - 充值状态管理模块
// 这个文件使用Zustand管理充值相关的状态，控制充值弹窗的显示和隐藏

// 导入Zustand的create函数：用于创建状态存储
import { create } from 'zustand';

// 定义充值状态的接口（TypeScript类型定义）
// 接口描述了充值状态的结构和类型，确保类型安全
interface RechargeState {
  // 充值弹窗状态字段
  openRecharge: boolean; // 充值弹窗是否打开：true表示打开，false表示关闭
  
  // 状态操作方法（函数类型定义）
  setOpenRecharge: (open: boolean) => void; // 设置充值弹窗状态的方法
}

// 创建并导出充值状态存储
// useRechargeStore是一个自定义Hook，可以在React组件中使用
// create<RechargeState>() 创建了一个类型安全的Zustand store
// 这个store没有使用persist中间件，因为充值弹窗状态不需要持久化
export const useRechargeStore = create<RechargeState>((set) => ({
  // 默认值：充值弹窗的初始状态
  openRecharge: false, // 默认充值弹窗关闭
  
  // 设置充值弹窗状态的方法
  // set函数用于更新状态，类似于React的setState
  // 在React中，调用set函数会触发使用该状态的组件重新渲染
  setOpenRecharge: (open) => set({ openRecharge: open }),
}));